The VIATRA2 Transformation Framework Model Transformation by Graph Transformation

نویسندگان

  • Dániel Varró
  • András Balogh
  • András Pataricza
چکیده

Viatra2 (VIsual Automated model TRAnsformations) is a general-purpose model transformation engineering framework that aims at supporting the entire life-cycle, i.e. the specification, design, execution, validation and maintenance of transformations within and between various modeling languages and domains in the MDA. This paper reports on the current status of the tool and sketches some future directions. 1 VIATRA2: A tool for MDA transformations The increasing success of the Model Driven Architecture (MDA) highly relies on an effective tool support for engineering models of different modeling languages, application domains and executing software platforms. While model engineering (modelware) has already become a widely accepted software engineering discipline, many researchers and practitioners identify the increasing need for well-founded engineering methods and powerful tools for model transformation engineering (transware). Objectives of Viatra2. The objective of the Viatra2 (VIsual Automated model TRAnsformations) is a general-purpose model transformation engineering framework that aims at supporting the entire life-cycle, i.e. the specification, design, execution, validation and maintenance of transformations within and between various modeling languages and domains in the MDA. The current paper reports on the state-of-the-art of the Viatra2 tool in achieving this very ambitious goal. Tool history. The tool is being developed at the Fault Tolerant Systems Research Group at the Budapest University of Technology and Economics. Our research on model transformations of UML models is dated back to the European ESPRIT project HIDE [5]. The first versions of the tool [7] (written in Prolog) were developed between 2000 and 2003 and primarily focused on designing automated transformations of UML models into various mathematical domains of model analysis tools. Based on these initial experiments, Viatra2 has been reengineered from scratch since 2004 (following the guidelines of a PhD thesis [10]) to better meet the requirements of MDA transformations. Viatra2 is now written in Java and fully integrated into the Eclipse framework [1] and accepts models of several offthe-shelf industrial modeling tools. Our tool is intended to serve as a powerful academic prototype publicly available for academic use. Currently, Viatra2 is available as part of the Eclipse GMT Subproject [2]. 2 Models and transformations in Viatra2 Model descriptions. Viatra2 uses the VPM metamodeling approach [11] for describing modeling languages and models. The main reason for selecting VPM instead of a MOF-based metamodeling approach is that VPM supports arbitrary metalevels in the model space. As a direct consequence, models taken from conceptually different domains (and/or technological spaces) can be easily integrated into the VPM model space. The flexibility of VPM is demonstrated by a large number of already existing model importers accepting the models of different BPM formalisms, UML models of various tools, XSD descriptions, and EMF models. Ongoing development aims at providing support for domain-specific languages within the Viatra2 framework. Initial experiments in this direction have been carried out when designing the current visual editor for the VPM model space. Specification of model transformations. Viatra2 combines visual rule and patternbased paradigm of graph transformation (GT) [8] and the very general, high-level formal paradigm of abstract state machines (ASM) [6] into a single framework for capturing transformations within and between modeling languages. – Queries on models are intuitively captured by graph patterns (that may have negative conditions and interact with other patterns in turn). – Elementary model manipulations specified by graph transformation rules can also reuse predefined graph patterns in their left-hand side and right-hand side graphs. – Then complex transformation programs are assembled by using abstract state machine constructs that provide higher-level control structures for elementary manipulation steps. Both ASM and GT rules are allowed to have input and output parameters to support information hiding. – Code generation is treated as ordinary model-to-code model transformations, and it is supported by intelligent (model-driven) print ASM rules, and a code formatter mechanism to split the generated code into different source files. A unique feature of Viatra2 is the support of generic and meta-transformations [12] that allow type parameters and manipulate transformations as ordinary models, respectively. Initial experiments have been carried out to gain more practical experience in this novel field. Fig. 1. An overview of the Viatra2 transformation execution Execution of transformations. Transformations are primarily executed within the framework (see Fig. 1) by using the Viatra2 interpreter, which uses constraint satisfaction techniques for matching graph patterns (which is typically the most expensive step of a model interpreter). Furthermore, a first detailed experiment [4] have been carried out to externalize transformations by generating platform-specific, stand-alone transformation plugins (transformers) in the evolving EJB3 standard. The main practical relevance of such transformers from an MDA perspective is that they can be integrated into an existing piece of software without the use of the entire Viatra2 framework. While Viatra2 transformations are unidirectional, ongoing research aims at developing a bidirectional and incremental model transformation approach built on top of the current framework. Moreover, the CheckVML tool [9] will soon be integrated into Viatra2 to support the model checking based formal validation of model transformations. Extension mechanisms. Viatra2 provides an extensible framework for handling a large variety of MDA models and transformations. Arbitrary model importers can be easily implemented using the simple metamodeling API of VPM metamodeling core, and a large set of importer plugins are already available. Furthermore, Viatra2 transformations may call external Java methods if necessary to integrate external tools into a single tool chain. User interface. Currently, Viatra2 provides a textual language (called VTCL [3]) for describing transformations and a separate language (called VTML) for representing models, and metamodels, and a graphical user interface for viewing and editing the VPM model space including the creation and deletion of various model elements (and traditional undo and copy operations). This GUI provides a tree view of the model space. Rich textual editors support the editing of VTCL transformations, and VTML models and meta models. Support for a graphical transformation editor of GT and ASM descriptions is an ongoing activity. 3 Applications of Viatra2 Model transformations already carried out using the Viatra2 framework can be grouped into the two main categories: – PIM-PSM mappings for model-driven design. Traditional PIM-to-PSM mappings are being carried out for the model-driven design and deployment of dependable embedded components in e.g. automotive systems. – PSM to source code generation PSM-to-code mappings include initial code generation support from UMLmodels to EJB3 and the automation of BPM/BPEL models. As well as the generation of middleware configuration files for various platforms. – PIM-semantic domain mappings for formal model analysis. The traditional line of research in our group aims at a transformation-based verification and validation of models that allows an early validation of model-level design decisions. Sample transformations project behavioral UML models (taken from IBM Rational XDE or Software Architect) or BPM models (created in IBM Business Integrator Modeler) via dataflow networks into various back-end analysis tools to (i) automatically catch conceptual flaws, (ii) perform security evaluation according to the Bell-LaPadula approach, or (iii) to highlight dependability bottlenecks and assess error propagation paths. These typical transformations arise in various application domains of Viatra2 including the following ones: – Business Process Models Business Process Modeling tools support the visualization and simulation of business processes and workflows. Our work (partially supported by an IBM Faculty Award) aims at the extension of BPM tools with formal analysis and direct code generation for workflow automation languages like BPEL. Research work has also be done for security analysis of BPM models and fault simulation in workflows. – Embedded systems In the scope of the DECOS European IP we developed various domain-specific editors for modeling embedded systems, and used Viatra2 as a transformation and tool integration platform for PIM to PSM mapping and software-hardware integration in the embedded domain. Viatra2 is also used for model validation and consistency checking based on transformations. – Service-Oriented Architecture Viatra2 has been successfully applied in the SOA domain for generating analysis models from UML-based models and did performance and availability analysis of applications. We did also research work in the field of service analysis and deployment, and middleware configuration generation. This work is partly supported by the SENSORIA European IP and the SA Forum group. 4 Future Development Based on our experiences with Viatra2 we will carry out further development in the near future to increase the usability and interoperability of the framework. – Tight coupling with EMF As Eclipse Modeling Framework (EMF) is widely used by several modeling tools we try to create a strong coupling between the EMF and VPM model stores. Currently, Viatra2 imports EMF models from files, using an appropriate importer plugin. The goal of the development is the online synchronization between EMF and VPM models. – Native transformation support for EMF Based on our experience on the generation of native transformation plugins for the EJB 3.0 platform we plan to extend this generation for the EMF platform to create transformation modules executed directly on EMF models. This enables the integration between various EMF-based modeling tools. – Visual debugging of transformation With the refactoring and upgrading of the transformation interpreter we will integrate it with the Eclipse Debug framework. This will enable the visual debugging of Viatra2 transformations. – Domain Specific Modeling framework We are currently developing an extension to Viatra2 that will support the definition of domain specific modeling languages and their visual notations. This allows the automatic generation of graphical editors for domain specific modeling. – Transformation development by example One of our further research directions is the support for the “transformation by example” approach [?]. This enables the definition of transformations without a specific transformation language only by using example source and target models.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Generation of Platform-Specific Model Transformation Plugins for EJB 3.0

The current paper presents a technique for generating standalone model transformation plugins for the EJB 3.0 platform from platform-independent specifications of transformations given by a combination of graph transformation and abstract state machine rules (as used within the Viatra2 framework). As a result, the design of transformations can be separated from the execution of transformations....

متن کامل

Saying Hello World with VIATRA2 - A Solution to the TTC 2011 Instructive Case

Automated model transformations play an important role in modern model-driven system engineering in order to query, derive and manipulate large, industrial models. Since such transformations are frequently integrated into design environments, they need to provide short reaction time to support software engineers. The objective of the VIATRA2 (VIsual Automated model TRAnsformations [9]) framewor...

متن کامل

Solving the TTC 2011 Reengineering Case with VIATRA2

Automated model transformations play an important role in modern model-driven system engineering in order to query, derive and manipulate large, industrial models. Since such transformations are frequently integrated to design environments, they need to provide short reaction time to support software engineers. The objective of the VIATRA2 (VIsual Automated model TRAnsformations [9]) framework ...

متن کامل

Pattern composition in graph transformation rules

Graph transformation (GT) frequently serves as a precise underlying specification mechanism for model transformations within and between modeling languages. However, composability of graph transformation rules is typically limited to inter-level rule composition (i.e. rules calling other rules). In the current paper, we introduce intra-level composition for GT rules where the left-hand side and...

متن کامل

Program Understanding case study solution using the Viatra2 framework

The current paper presents a solution of the Model Transformations for Program Understanding: A Reengineering Challenge case study of the Transformation Tool Contest 2011, using the Viatra2 model transformation tool. This work was partially supported by ICT FP7 SecureChange (ICT-FET-231101) European Project.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2006